from celery import Celery
import os
import django

# 初始化celery对象
app = Celery("luffy")

# 如果想要在celery中执行django代码，例如模型操作，日志记录，则必须在当前celery中对django进行初始化

os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'luffyapi.settings.dev')
django.setup()


# 加载celery相关配置（在config中编写相关配置）
app.config_from_object("mycelery.config")

# 编写celery的任务【在各个任务目录的tasks文件中编写】

"""
在统计目录的config.py文件中添加：
# 任务队列的链接地址
broker_url = 'redis://127.0.0.1:6379/15'
# 结果队列的链接地址
result_backend = 'redis://127.0.0.1:6379/15'
"""

# 在main当前文件中，注册任务到celery
# 自动搜索并加载任务
# 参数必须是一个列表，里面的每一个任务都是任务的路径名称
app.autodiscover_tasks(["mycelery.mail","mycelery.sms"])

# 在终端下启动celery，必须在mycelery的父集目录下运行
# celery -A mycelery.main worker --loglevel=info

